package com.secxiot.provider.narcotic.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.secxiot.provider.system.vo.FileLogVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 用户资料信息
 */
@ApiModel
@Data
@ToString
public class NarcoticPatientInfoDto {

    @ApiModelProperty(value = "用户资料信息id", required = true)
    private Long patientInfoId;

    @ApiModelProperty(value = "用户ID", required = true)
    private Long userId;

    @ApiModelProperty(value = "患者身份证附件", required = false)
    private String idCardFile;

    @ApiModelProperty(value = "代领人身份证附件", required = false)
    private  String agentIdCardFile;

    @ApiModelProperty(value = "病例附件", required = false)
    private String patientCaseFile;

    @ApiModelProperty(value = "诊断证明附件", required = false)
    private String diagnoseProveFile;

    @ApiModelProperty(value = "患者照片附件", required = false)
    private String patientPhotoFile;

    @ApiModelProperty(value = "患者病情视频", required = true)
    private String patientVideoFile;

    @ApiModelProperty(value = "患者电子签名附件", required = false)
    private String signatureFile;

    @ApiModelProperty(value = "有效期时间", required = false)
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date validTime;

    @ApiModelProperty(value = "患者诊断内容", required = false)
    private String diagnose;

    @ApiModelProperty(value = "状态 0 无效 1 有效 ", required = false)
    private Integer status;

    @ApiModelProperty(value = "审核时间", required = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    @ApiModelProperty(value = "审核人ID", required = false)
    private long  auditUserId;

    @ApiModelProperty(value = "审核状态 0 未审核 1 审核通过  2 驳回", required = false)
    private Integer isAudit;

    @ApiModelProperty(value = "创建时间", required = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty(value = "医疗机构", required = true)
    private Long hospitalId;

    @ApiModelProperty(value = "医疗机构名称", required = false)
    private String hospitalName;

    @ApiModelProperty(value = "用户名称", required = false)
    private String userName;

    @ApiModelProperty(value = "用户头像", required = false)
    private String headerImg;

    @ApiModelProperty(value = "00014数据字典类型 患者 医生 药师", required = true)
    private String type;

    @ApiModelProperty(value = "驳回原因", required = false)
    private String refuseReason;

    @ApiModelProperty(value = "代领人姓名")
    private String agentName;

    @ApiModelProperty(value = "代领人身份证号")
    private String agentIdNumber;

    @ApiModelProperty(value = "代领人性别")
    private Integer agentSex;

    @ApiModelProperty(value = "代领人年龄")
    private Integer agentAge;

    @ApiModelProperty(value = "代领人地址")
    private String agentAddress;

    @ApiModelProperty(value = "用户身份证号")
    private String idNumber;

    @ApiModelProperty(value = "用户性别")
    private Integer sex;

    @ApiModelProperty(value = "用户年龄")
    private Integer age;

    @ApiModelProperty(value = "用户地址")
    private String address;
}
